Developers.IO 2017 in LAS VEGASを開催しました 前編 #reinvent
はじめに
弊社ブログメディア「Developers.IO」の勉強会イベント「Developers.IO 2017」が、re:Invent2017の会期に合わせ、LAS VEGASにて行われました。Webinerのみの募集で、なおかつ現地と時差が17時間ほどあるということでしたが、発表された新情報や、新サービス、新デバイスが登場し、非常に楽しい1時間でした。
普段であればレポートとしてブログを挙げるのですが、せっかく対談形式で行われたため、本ブログでは"対談リプレイ"として記載してみようと思いますので、よろしければお付き合いいただけたらと思います。特記事項がない限り敬称略とさせていただいております。
※お酒の入った対談形式のため、その場のノリと勢いとパスタで発言しているところがございます。一部不確定な情報や誤った情報を流している可能性がありますが、大目に見ていただけましたら幸いです。
開会〜登壇者紹介
嵩原「Developers.IO in LAS VEGASなんですけれど、元々は予定していなかった勉強会イベントなんですが、re:Inventでラスベガスに行くぐらいなら、現地で勉強会してしまえということで、何をやるかも決めずに走った企画が今回です。」
一同「良いじゃないかー!よいしょ~!」
嵩原「ちなみに今回、クラスメソッドの社員及びゲストの方にも来ていただいていますが、一番最初に声をかけられた方で一週間ぐらい前というそんなブッキングで良いのかという状態です。じゃあ、そろそろ本題に入っていきたいと思います。」
嵩原「今日、re:Inventで、1日目のKeynoteがありました。その中で発表されたアップデートや新サービスが現在スピーカーの後ろに映されているテキストたちになります(上記全体像の背景を参考)。とんでもない数が発表されました。ちなみにこれ今日のKeynoteで発表されたやつだけで、昨日も発表されてて、かつKeynote終わった後もまだ情報が出てきたというところで、我々クラスメソッド社員もどうやってブログまとめたらいいんだ、という気分でして。」
長谷川「明日もあるしね、これ。」
嵩原「はい。とんでもないことになっているわけでして。今日大量のサービスが発表されたということで現地で直接Keynoteに参加したメンバーや、その後のBreakout Sessionなどで情報を収集してきたので、ディスカッションという形で今日は紹介していければと思います。登壇するメンバーを向かって一番左から自己紹介をお願いします。まずはミスターre:Invent(笑)大栗さんから。」
大栗「クラスメソッドシニアソリューションアーキテクトの大栗です。今回re:Inventは新サービス超頑張るよって聞いてるので私も超頑張りまーす、よろしくお願いします。」
せーの「クラスメソッドAlexa事業部に所属していますせーのと申します。今回まだAlexaの新機能は出てないですけれども、この感じで明日Alexa出てくると僕死ぬなって思ってます。でも、Alexaに近い形でAI系の、Rekognition VideoとかTranscribeとか、ココらへんちょっと面白いので。あと、この後、ワークショップに参加した方からでっかい土産物が登場すると思いますので、よろしくお願いします。」
甲木「皆さんこんにちは。クラスメソッド、データインテグレーション部に所属しております甲木と申します。私の専門分野はデータベースと分析系になるので、Keynoteでいくと一番ビックリしたのはAuroraのMulti-Master及びServerlessになりますかね。あとは、S3及びGlacierのSelectですとかこのあたりが結構デカイインパクトが有ったんじゃないかと思います。いろいろ分析の仕組みを作る上では大きな変化になるなと感じています。よろしくお願いします。」
大瀧「クラスメソッドシニアソリューションアーキテクトの大瀧です。分野としてはインフラ全般が得意なところです。インフラサービスのアップデートが実は今日のKeynoteでほぼ全部漏れちゃってましてですね、待望な機能がリリースされてるんですけれど、VPC peer接続のリージョン間とかですね、あとは直近だとNTPのマネージドサービス、Time Syncサービスとか色々あるのですけれど、Keynoteからは漏れちゃってるので、若干悲しいのですけれど、待望のサービスが来てそれはそれで嬉しいという感じです。よろしくお願いします。」
河野「F-Secure コーポレートセールスの河野と申します。皆様エンジニアの中で、なんで営業がここにいるのかというと、たまたま今回ご縁があり、エフセキュアが取っていた会場を収録とかにお使いになりませんかというお声がけをした次第でございます。なので大人しくしてるのですけれど、今日の基調講演様々なものが発表されてますが、おそらく明日セキュリティ系のところ、またなんかアップデートがあるんじゃないかと思っています。昨日の夜のセッションのところだけでもGuardDutyが出てきましたので、今後どうなっていくのかなというところが期待です。よろしくお願いします。」
長谷川「東急ハンズの長谷川です。よろしくお願いします。今日はですね、ここ映ってる通り過去最大級で怒涛の新サービスの発表がありましたので、ユーザー視点でどう使えるんだっていうところをクラスメソッドのシニアアーキテクトの皆様に聞いてみようかと思いますので、答えられなかったらクラスメソッドが悪いということで(笑)、ぶん投げるというそんな役です。よろしくお願いします。」
里見「どうも、NTT東日本の里見です。自分も大瀧さんと一緒でインフラ系のサービスがKeynoteにあまり盛り込まれてないなっていうところが少し残念でもありつつ、逆にやっぱり見てると去年と比べるとますますレイヤーの高いところの発表が多くなってきているなというところで、AWSの方向性が出てるのかなって思います。逆にインフラ系、うちの会社含めて、そういうところは皆さんにとって空気のようなものにだんだんなってきているのかもしれないですが、とはいえ僕も興味は大瀧さんと同じようなDXとかVPCとかにあるので、そのあたりも少し話していければと思います。よろしくお願いします。」
AWSのデータベース本気度合いが伺えるKeynote
嵩原「こっから本題の、今日のKeynoteどうだったに入っていこうと思います。非常に沢山のサービスが出ましたね、というところで、大栗さんからこれはなかなかびっくりしたなってところとか、すぐ使いたいなってところから話を広げていきましょう。」
大栗「即使いたい、まあpreviewだから即使えないんですけれど、一番早く使いたいのはAmazon Aurora Multi-Masterですね。ベーシックなRDBMSってところで、かつ、すぐ効果があることが確実にわかるので。」
大瀧「そもそもどんなやつなんですかね?」
大栗「Master1台でリードレプリカ、読み取り専用が15台まで置けますってのが今までのAuroraでした。今回はMaster1台じゃなくて全部のnodeにも書き込めます、だから、書き込みも、読み込みも、超速くなりますよってのが一言で言うとわかりやすい。」
せーの「わかりやすいですね!」
大栗「可用性も、今までそもそも高かったけどより高くなるよっていう、良いこと尽くめの感じです。」
長谷川「これはあれですか、Oracle RACと比べたら、どういう風に変わりますか」
一同(ざわざわ)
大栗「いきなり(笑)ちょっとよくわからないですけれども、Keynoteでも、変なベンダーさんっぽいラックみたいなのがありましたが、この時のラックはRACじゃないラックだからね、RACKの方だからね、えーっとね、うん、まー、あんまりそういうの見てないんでわからないです(笑)」
大瀧「ちょっとーw」
大栗「Auroraが良ければいいと思ってるから大丈夫」
河野「やさしいコメントだw」
大瀧「良さそう?」
大栗「すごく良さそうだと思う!」
里見「クラメソさんだとOracleとの比較ベンチマークとかブログに出たりとか…」
大栗「あんまり興味ないんで、やんないっすねー(笑)」
大瀧「AWSでRAC組めないじゃないですかw」
大栗「頑張れば組めますよw でも、検証用の無料ではAWSでは動かせないので、ほんとそういうの難しいですねー。」
里見「でも、今の大栗さんにあったように、今回DBの本気度合いってのは出てましたよね。」
大栗「今回は、意味がわかんないですね。本気度合いのレベルが高すぎて。」
里見「かなりDBに特化してたんじゃないかって思います。」
大栗「強烈です。」
長谷川「これは予想として、Serverlessも出てるじゃないですか、これどれぐらいのタイミングで、スケールアップしてくというか、予測されますか。」
大栗「予測というわけではなくて、直前までAuroraのMySQL互換のセッション、Deep Dive出てて、そこでServerlessの話も当然あったんですけれど、1秒から3秒で起動しますと言ってました。」
長谷川「1秒から3秒で!」
大栗「ドキュメントには5秒ってあったんですけれど、基本は1〜3秒って言ってましたね。ちょっと無茶苦茶なこと言ってます。」
長谷川「じゃあ、Auroraを使うんだったら、Serverlessがデフォルトセットする基本になってくるんですかね?」
大栗「そうとも言えないと思います。Lambdaでいうとわかりやすいですが、普通のLambdaと、VPCに足生やしたENIあるじゃないですか、あれも起動するのに数秒かかるじゃないですか、これって使い分けですよね、あれと同じイメージだと思います。」
里見「あれと同じと言うところ、もうちょっと具体的にお願いします。」
大栗「Multi-Masterのほうはインスタンスとして上がるので最初の起動コストがかからない、起動してる状態から使うものですよね。Serverlessのものは、リクエストがきたタイミングでオンデマンドで上がるってところが特徴なので、そういうところが初回が遅いとかってのが当然出てくると思いますので、使い分けが重要かなと。ワークノートで、いきなりピークがわかんないタイミングでパーンと跳ねるとかは、いきなりキャパシティ確保できないので、Serverlessでもありだと思いますし、定常的に高いワークがあるんであれば起動しておくべきです。」
長谷川「なんか、大栗さんが出来る人みたいやなぁ。」
一同 大笑い
大栗「今まで知りませんでした?」
長谷川「ただの酒に弱い人だと思ってましたわ。」
大栗「そこは否定しませんw」
せーの「もう少ししたら、コクコクいきますからきっと(笑)」
フルマネージドなグラフDB「Neptune」
嵩原「Neptuneは何なんですかね?」
大栗「いわゆるグラフ構造と言われるデータモデルをDBMSに保存するタイプのデータベース。」
甲木「しかもそれがフルマネージド。」
大栗「AWS上でグラフDBという話をすると、去年うちのDevelopers.IOの中でもブログあるんですけれど、Titanってのがありまして、これはバックエンドにDynamoDBを使うんですよね。そういうのがあって、今回は完全なフルマネージド。今までのTitanだとコンピューティングノードをEC2に立てる必要があったんだけど、今回はRDSみたいな感じで使えると、そういう意味で違うとおもいます。」
里見「うーん、ボス、わかりますか?」
長谷川「なんか、違うデータを取り入れられるってこと?」
大栗「ソーシャルグラフでいうと、例えば、Facebookで友達の友達ってあるじゃないですか、ああいうのを、リレーショナルデータベースで検索しようと思うとデータモデルをどう実装するかっていうのが極めて難しいんですよね。」
甲木「テーブル構造の設計が割とアンチパターンになりがちなんですよね。」
せーの「外部IDの外部IDみたいな。」
長谷川「MSさんでCosmos DBみたいなこと?」
大栗「Cosmos DBはグラフDBではないので、ドキュメントDBですね。」
大瀧「用途としてはECのリコメンドとかそういう商品の紐付けとか。」
大栗「RDBだと難しかったデータモデルを扱えるということです。」
里見「リコメンドで例えば具体的にどう使えるのですか?」
大栗「グラフDBがあまり詳しくないので変なことは言えないのですけれど、グラフは関係があるところの先の関係ってところにいってるので、何か自分に関して関係があるアイテム、商品があったとして、その関係あるアイテムを保存しておけば、それを買った人にたいして関係がある商品がすぐクエリで取れるとか。更にその次のとか、そういうのを高速に取得することが可能です。」
里見「大栗さんの友達の、長谷川さんが買ったものが、レコメンで、あんなものやこんなものが出てきちゃうと。」
大栗「そんな感じです。なんか怪しいものいっぱい買ってそうですけれど(笑)」
長谷川「そっちの方向にいったらアカンw」
甲木「あとはウェブサイトで、それぞれのページを1つのnodeみたいな感じで考えると、それに対してのランキングっていうのを考えられる。例えばこのページは人気があるとか、色んな所から参照されてるとか、そういうデータも、RDBで設計するよりは簡単に格納できるので。」
里見「それがNeptuneと。」
大瀧「ですね。」
甲木「これって、Titanの絡み?」
大栗「それはわからないけれど、似た感じなのかなとは思う。」
甲木「最近出てくるサービスがAthenaとかNeptuneとか、なんか神話の世界に・・・」
せーの「クロスを纏って、ねぇ(笑)」
河野「私聖闘士星矢好きですよw」
せーの「そのうちAmazon Sagittariusとかw」
甲木「出てきたらどうするんだよ(笑)」
大瀧「でも、バンバン出てくるんじゃないですかねw」
S3 SelectとGlacier Select
大瀧「データ分析系だとどうですかね?」
甲木「分析系といえば、さっき言ったS3 SelectとGlacier Select。」
大栗「地味だけど重要だよね」
せーの「これはどんなサービスなんですか?」
甲木「これはですね、今まではやりにくかったS3のファイルとGlacierのファイルに、直接SQLを渡してデータを取り出すっていう機能です。」
せーの「これ発表されたときも、社内のチャットがざわついた気がしたんですが。Athenaとの違いは何なんですかね。」
甲木「今の時点でわかってるのがAthenaは複数のファイルをテーブルとして認識し、それをJoinしたりすることが出来るんですね。このS3 Selectというのは、本当に単一のファイルから必要なデータを取り出すということしかできない。Joinができない。サブセットなのかな、アーキテクチャが大分変わる気がします。中の人の話によると、Athenaと連携する予定です、みたいなことを言われてます。」
大瀧「やっぱレイヤーというか、役割分担というのはあるんですね。」
大栗「Athenaは早い話マネージドPrestoなんで、そことはまたちょっと違うと思います。」
里見「使い方としては、Glacierに入れてるとなかなか引っ張り出すのもめんどくさかったりすると思うのですが、その前にまずGlacierに置いてあるものが何処にあるのかを検索とかかけて、それから引っ張り出すとか、そんな感じになるんですかね?ちょっとこれでちら見出来るみたいな。」
大栗「Glacierって持ってくるのすごく時間かかるじゃないですか、高速にやろうと思うと破産するじゃないですか。」
大瀧「破産しない設定も今はありますw」
大栗「そうですね、今はスループットを制限できるんで、破産しなくて済むんですけれど。」
長谷川「これはSelectっていうことで、読み込みだけの話で、書き込みじゃなくて読み込みが速くなるってことで良いんですかね。」
甲木「そういう風に思ってます。」
せーの「ピンポイントでレコードだけを取ってくるってことはJoinとかするクエリを投げるよりは速くなりそうですよね。」
長谷川「SQL文という意味でのSelectって意味でのSelectですよね。」
大栗「ファイル単位でテーブルがあるようなイメージですね。」
里見「じゃあ、企業とかの7年保存とかをここに入れといて。」
大栗「結構デカイファイルのアクセス単位には良いと思うのですけれど、ある程度デカイ単位で突っ込んでて、特にGlacierに突っ込んでる時に、昔のデータなんだけどちょっと監査とかで引っ張り出してきたーいっていう時に良いんじゃないかなと。」
長谷川「半年後とかにS3 InsertとかS3 Updateとか出てくるんですかね?」
大瀧「どうですかねぇー(笑)」
甲木「ただこれって、個人的な予想ではあるのですが、Glueがあるので、それと連携する、S3のデータを素材として持ってくる時に、もっと持ってきやすくする。そういうところの意図なのかなと。」
大瀧「これ、AWSの公式見解ではないですからねw」
甲木「予想です、予想。当たればラッキー的な。でも、私だったらそうするかなって。」
せーの「これってまだ料金とか出てないんですよね?GlacierをSelectするってどれくらいの料金かかるんだろうって。」
大栗「気になるなーw」
甲木「それは・・・ちょっと・・・わからないですね。」
大瀧「出てくるまで待ちましょうってことで。」
(次回に続きます)